home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
memory
/
addram10.zip
/
ADDRAM.DOC
< prev
next >
Wrap
Text File
|
1989-02-14
|
21KB
|
544 lines
ADDRAM 1.0
Copyright (c) 1989 by Marty Del Vecchio
Adds memory to DOS using EMS 4.0 memory.
Based on the program EEMRAM
written by Chris Dunford
Table of Contents
I. What You Should Have 1
II. What the Program Does 1
III. What You Need 2
IV. How to Do It 3
V. Message Reported by Programs 4
A) ADDRAM 4
B) SUBRAM 5
C) EMSDATA 6
VI. Notices/Disclaimer 7
VII. Questions 7
I. What You Should Have
ADDRAM consists of six files:
1) ADDRAM.COM Program that uses EMS 4.0 memory to
extend DOS beyond 640K.
2) ADDRAM.ASM Assembly source for above.
3) SUBRAM.COM Program that undoes ADDRAM--it returns
DOS to 640K
4) SUBRAM.ASM Assembly source for above.
5) EMSDATA.EXE Program that gives information about the
EMS installed in your system.
6) ADDRAM.DOC This file--documentation.
II. What the Program Does
ADDRAM can increase the size of your DOS memory. DOS is
restricted to an arbitrary limit of 640K of memory. This is split up
into 10 segments (0 to 9) of 64K each, from address 0000 to 9FFF hex.
DOS can only handle one large contiguous memory block, and ordinarily
this block is 640K large.
This limit is arbitrary because of the placement of video buffers
immediately after the reserved DOS space. The EGA/VGA graphics buffer
is located at A000. The monochrome text buffer is at B000, and the
CGA/EGA/VGA text buffer is at B800. Thus, if you are using a mono
card, then there is 64K of address space available right at the end of
DOS that should be added to DOS.
However, the DOS limit is widely known as 640K, and there are very
few memory cards designed to put memory at these locations for use by
DOS. However, expanded memory cards that conform to the EEMS (Enhanced
Expanded Memory Specification) standard from AST have the ability to
map memory at virtually any location in the PC's address space. Chris
Dunford wrote a program called EEMRAM (EEMRAM11.ARC) that mapped EEMS
memory at the unused video buffers and added it to DOS.
When EMS 4.0 was introduced, it was a combination of "normal" EMS
3.2 (the type of memory provided by the Intel Above Board, for example)
and "enhanced" EMS (AST's memory cards). Part of the EMS 4.0 spec says
that cards may be able to map memory at different locations in the PC
address space, just like EEMS cards. This program is designed for EMS
4.0 cards that can do this.
However, it must be noted that this capability is an OPTION in the
EMS 4.0 spec. Thus, there are expanded memory cards that are
advertised as "EMS 4.0" cards. However, because they cannot map memory
wherever it is needed, they are insufficient for the purposes of this
program. For this program, you need a "true" EMS 4.0 card. For more
Page 1
particulars, see below.
Page 2
III. What You Need
ADDRAM is designed to extend DOS beyond 640K whenever possible,
using EMS 4.0 memory. It does this by addressing EMS memory into
unused video buffer memory. ADDRAM can only increase DOS' memory size
under certain conditions:
1) You must already have exactly 640K of DOS memory installed.
No more, no less.
2) The machine MUST have an EMS 4.0 memory card that can map
expanded memory into the A000 and B000 segments, where video
memory is located. The vast majority of EMS cards available
cannot do this, because they were designed prior to the
release of the EMS 4.0 specification. This program requires
functions found in EEMS cards, and NEWLY-DESIGNED EMS 4.0
cards. Many EMS cards are sold today as "EMS 4.0" capable
that cannot perform all of the EMS 4.0 functions needed for
this particular purpose.
The following paragraphs represent my personal experience in
working with memory cards, and their fitness for a particular
purpose. This should not be interpreted as a general view of
the cards discussed--this is only a discussion of their
suitability for use by ADDRAM.
All of the AST Rampage products (Rampage 286, Rampage 286
Plus, etc.) have the required capability, since they are true
EEMS/EMS 4.0 cards. However, you need to get the EMS 4.0
driver from AST for these products--ADDRAM does not work with
a plain EEMS driver. If you only have the old EEMS driver,
use EEMRAM11.ARC by Chris Dunford.
The Intel Above Board products (Above Board, Above Board
Plus) do not have the capability needed by ADDRAM. The Above
Board is an old-style EMS card, and the new Above Board Plus
is prohibited from addressing memory in the A000 and B000
segments to prevent conflicts with video memory. Thus, they
cannot be used by ADDRAM to add memory to DOS.
The Charge Card from All Computers, Inc. can be used. Use
the device driver "ALLEMM4.SYS" included on the ALL disks.
QEMM from Quarterdeck and 386 to the Max from Qualitas can
also be used, but they can automatically add memory to DOS if
requested. This program should be unnecessary if you have
either of these products or a similar product.
The program EMSDATA.EXE, included here, can help you
determine if your EMS card can be used.
3) There must be unused memory starting at segment A000. If you
Page 3
have an EGA or VGA system, you cannot add memory to DOS
unless you use the All Charge Card. This is because EGA/VGA
cards use the A000 segment for high resolution graphics video
buffers, and thus the EMS card cannot address memory there.
If you have the Charge Card, and you do not use your EGA/VGA
in graphics mode, but only in text mode, you can overcome
this restriction by adding "i=A000-AFFF" to the command line.
This takes away the graphics buffer and gives it to DOS, and
thus any program that tries to use EGA/VGA graphics will
crash your system. It is up to